Skip to content

feat(ledger): expose rebuild-schedule on LedgerClient#132

Merged
jfrench9 merged 2 commits into
mainfrom
feature/rebuild-schedule
Jun 20, 2026
Merged

feat(ledger): expose rebuild-schedule on LedgerClient#132
jfrench9 merged 2 commits into
mainfrom
feature/rebuild-schedule

Conversation

@jfrench9

Copy link
Copy Markdown
Member

Summary

Regenerates the SDK from the latest OpenAPI spec and wires the new
rebuild-schedule operation into the hand-rolled LedgerClient facade.
Without the facade method the regenerated operation would ship but be
unreachable through LedgerClient.

Changes

SDK regeneration (chore(sdk) commit)

  • New operation surface for rebuild-schedule: api/extensions_robo_ledger/op_rebuild_schedule.py, RebuildScheduleRequest, ScheduleCreatedResponse (+ ScheduleCreatedResponseRuleSummaryType0), and the OperationEnvelopeScheduleCreatedResponse wrapper, all re-exported from models/__init__.py.
  • Docstring refresh in update_schedule_arm.py / update_schedule_request.py: the "create a fresh schedule" pointer now references create-information-block (block_type='schedule') instead of the old create-schedule. No facade change needed there — create_schedule() already routes through op_create_information_block.

Facade (feat(ledger) commit)

  • LedgerClient.rebuild_schedule(graph_id, structure_id, *, idempotency_key=None) in the Schedules section. Re-runs the schedule generator in place on an existing schedule — preserves the structure id, element associations, and taxonomy while voiding the old obligation chain and regenerating facts + a fresh obligation chain. Threads the optional Idempotency-Key header and returns ScheduleCreatedResponse via the existing typed-envelope unwrap helpers.
  • Two tests in TestScheduleAdditionalOps: basic call (asserts result, graph_id, request body, and idempotency_key is UNSET) and idempotency-key passthrough.

Testing

  • pytest tests/test_ledger_client.py — 91 passed.
  • Full suite ran via the pre-commit hook on both commits — 439 passed, 17 skipped.
  • ruff check on the edited files — clean.

Notes

  • The TypeScript client has no hand-rolled facade (fully generated), so no parallel change is required there.

jfrench9 added 2 commits June 20, 2026 03:04
Adds the new rebuild-schedule operation surface: op_rebuild_schedule,
RebuildScheduleRequest, ScheduleCreatedResponse, and the matching
OperationEnvelope wrapper. Also refreshes the update-schedule docstrings
to point at create-information-block (block_type='schedule').
Wire the new rebuild-schedule operation into the hand-rolled facade as
LedgerClient.rebuild_schedule(graph_id, structure_id, *, idempotency_key).
Re-runs the schedule generator in place on an existing schedule —
preserves the structure id, element associations, and taxonomy while
regenerating facts and the obligation chain. Returns ScheduleCreatedResponse.
@jfrench9 jfrench9 merged commit 81df97d into main Jun 20, 2026
1 check passed
@jfrench9 jfrench9 deleted the feature/rebuild-schedule branch June 20, 2026 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant